// new Promise((resolve, reject) => {
//     console.log('p1') // 1
//     resolve()
// }).then(() => { // 注册第一个微任务
//     console.log('then11') // 2
//     new Promise((resolve, reject) => {
//         console.log('p2') // 3
//         resolve() // 注册第二个微任务
//     }).then(() => {
//         console.log('then21') // 4
//     }).then(() => { // 注册第4个微任务
//         console.log('then23') //5
//     })
// }).then(() => { // 注册第三个微任务
//     console.log('then12') // 5
// })


// promise 内部是  同步的
// then 是异步的 =》 微任务



async function app() {
    console.log(1)
    await 1; // await 1 ==== await Promise.resolve(1)
    const p = new Promise((resolve) => {
        console.log(5)
        setTimeout(resolve, 1000)
    })
    p.then(() => {
        return 1
    }).then(() => {
        console.log(6)
    })
}
app()
setTimeout(() => {
    console.log(4)
});
console.log(3)


